package echecs;

import iechecs.type.Liste;

public abstract class APiece {

    public Couleur couleur;
    public Case _case;
    public String nom;
    //
    private Liste ListeCoupsPiece;
    public Generateur gen;
    public RegleType regletype;

    public APiece() {
    }

    public APiece(Couleur couleur) {
        regletype = new RegleType();
        this.couleur = couleur;
        ListeCoupsPiece = new Liste();
    }

    public abstract void search(final Case case_courante);

    public void search(final Generateur generateur, final Case case_courante) {
        gen = generateur;
        _case = case_courante;
        search(case_courante);

    }

    public boolean estCouleurInverse(APiece piece) {
        return piece.couleur != this.couleur;
    }

    public Liste getListcoupspiece() {
        return ListeCoupsPiece;
    }

    @Override
    public String toString() {
        super.toString();
        return nom + "_" + couleur.name();
    }
}
